获取阿里云STS凭证报错SDK.ServerUnreachable
问题
最近做捣鼓Web端OSS直传,比较安全的直传方式有两种,使用后端签名直传 和 使用STS凭证直传, OSS官方Web端直传例子中使用的是后端签名直传,移动端直传例子使用的STS凭证,相关SDK例子使用的是STS凭证。项目前端使用的是react + antd,因此打算参考使用STS凭证 + ali-oss 进行直传,以后也能复用在移动端上传。
完成相关代码后获取凭证报错。
1 | org.apache.http.impl.execchain.RetryExec - I/O exception (org.apache.http.conn.UnsupportedSchemeException) caught when processing request to {s}->https://sts.aliyuncs.com:443: https protocol is not supported |
解决
参考文档,对比POM文件,发现core依赖版本可能过高,最近正好升级过依赖版本。
当前依赖版本
1 | <dependency> |
降级为截图中的3.5.0即可。
1 | <dependency> |
这应该不是唯一能用的版本,尝试降到3.7.1,依旧报错,降到升级前版本3.2.8则新编写的STS凭证代码无法使用,需要改写。因此直接参考截图进行配置,获取凭证成功。